#ifndef __CoreLibConnect__h__
#define __CoreLibConnect__h__

#include "Base.h"

#include "neiderra/core/io/IOStream.h"

#include <string>

namespace neiderra {
    namespace core {

        class iLibrary: public Base {
        public:
            iLibrary(Core*);

            virtual ~iLibrary();

            virtual bool load(const std::string& filename)=0;
            //virtual void load(iInputStream*)=0;

            virtual void connect(Core*)=0;
            virtual void connect()=0;
            virtual void disconnect(Core*)=0;
            virtual void disconnect()=0;

            virtual void* getProcAddress(const std::string& procname)=0;
        };
    }
}

#endif
